Performing a computerized language teaching lesson using a main computer and a mobile device

ABSTRACT

A main computer runs a primary program performing an ongoing task, the primary program being optimized for performance on a desktop computer. A computerized device remote from the main computer runs an adjunct program which is a modified version of the primary program and is optimized for performance in a hands free mode. Communication mean provides communication between the main computer and computerized device, and the main computer and computerized device interact through the communication means so that each influences the operation of the other.

CROSS-REFERENCE TO RELATED PATENT APPLICATION

This patent application is a Continuation of and claims priority to and the benefit of U.S. patent application Ser. No. 12/887,613, entitled “PERFORMING A COMPUTERIZED LANGUAGE TEACHING LESSON USING A MAIN COMPUTER AND A MOBILE DEVICE,” and filed Sep. 22, 2010, which is incorporated by reference in its entirety.

BACKGROUND OF THE INVENTION

The present invention relates generally to the performance of computerized tasks and, more particularly, concerns a method and system for performing an ongoing computerized task with different computerized devices.

As used herein, the term “computerized device” will be understood to include not only an actual computer, such as a personal computer, but also a pocket computer, a personal digital assistant, a smart telephone, or any other device with computing capability.

For convenience, the present invention will be disclosed in the context of a computerized teaching system. This is merely a vehicle for illustrating the invention, without the intent of limiting it.

There are many times during a busy day when it may be possible to perform computerized tasks. For example, it is not uncommon to multitask while driving by carrying on voice communications or listening to the playback of recorded memos, emails, or the like. Similarly, it would be desirable for student learning a language to take advantage of such time. However, it must be done without distracting him from driving, and it must be entirely hands-free.

In accordance with one aspect of the present invention, a main computer runs a primary program performing an ongoing task, the primary program being optimized for performance on a desktop computer. A computerized device remote from the main computer runs an adjunct program which is a modified version of the primary program and is optimized for performance in a hands free mode. Communication means provides communication between the main computer and computerized device, and the main computer and computerized device interact through the communication means so that each influences the operation of the other.

In a preferred embodiment, the primary program is a language teaching program performing an ongoing task which is a language teaching lesson, the main computer having stored data related to the lesson and result information related to a student's progress in the lesson. The main computer interacts with the remote computerized device to have it perform hands free tasks related to the student's performance, the remote computerized device interacts with the main computer to report the results of hands free tasks, and the main computer updates its result information based on results reported from the remote computerized device.

The foregoing technique optimizes hands free tasks on the remote computerized device, based upon performance by the student on the main computer, and vice versa. This allows lesson plans and tasks to be adapted on each device based upon performance on another device.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing brief description and further objects, features and advantages of the present invention will be understood more completely from the following detailed description of a presciently preferred, but nonetheless illustrative, embodiment in accordance with the present invention, with a reference being had to the accompanying drawings, in which:

FIG. 1 is a functional block diagram illustrating a teaching system 10 embodying the present invention; and

FIG. 2 is a flow chart illustrating operations performed by remote interface program 24 of FIG 1.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Turning now to the drawings, FIG. 1 is a functional block diagram illustrating a teaching system 10 embodying the present invention. System 10 broadly comprises a main computer 12 and a remote computerized device 14, preferably handheld, which are linked by a communication connection 16. Connection 16 may be a simple USB or Bluetooth connection, but it is contemplated that computers 12 and 14 could communicate via the Internet, with either or both being WiFi capable.

Main computer 12 has a primary program 18 running on it, in this embodiment a language teaching program being used by a student. In the embodiment, main computer 12 is a desktop personal computer. Storage available to main computer 12 contains data 20, which is all of the information necessary for the teaching program. In addition, storage available to computer 12 contains result information 22, which is a record of the progress of the language learning student. Main Computer 12 contains a variety of teaching applications, the one of which that gets invoked being dependant preferably upon a student's progress as measured and stored.

Also running on main computer 12 is a remote interface program 24, which causes computer 12 and device 14 to interact when primary program 18 is started or shut down by the language student, or at specified periodic intervals, or at some other time. Upon startup of the primary program, remote program 24 updates result information 22 to reflect activity that has been carried on in remote computerized device 14. Upon shut down of primary program 18, remote interface program 24 generates remote data 26, which represents lessons that can be carried on in remote computerized device 14, as explained in more detail below. The lessons represented by remote data 26 are based upon result information 22 that was generated for the most recent language lessons. Remote interface program 24 causes remote data 26 to be transferred from main computer 12 to remote computerized device 14 via the communications connection 16.

Remote computerized device 14 is preferably a handheld device, which a language student can take with him when he leaves the site of main computer 12. Remote computerized device 14 runs an adjunct program 28, which is a simplified version of primary program 18. Storage available to remote computerized device 14 includes data 30, which is all the information necessary for adjunct program 28, including the teaching information. In addition, storage available to remote computerized device 14 contains information 32, which is a record of the progress the language learning student has made in the teaching program represented by data 30.

As described above, remote computerized device 14 has a communications connection 16 to main computer 12 and receives remote data 26 when the language student stops his learning session or at some other time. Remote data 26 is added to and updates data 30, so that any lessons adjunct program 28 presents to the student will be affected by remote data 26. The results of those lessons will be stored in result information 32 and will update that information.

When remote computerized device 14 establishes a communication connection to main computer 14, the updated result information 32 is transferred to main computer 12 and will result in an update in result information 22. In many instances, this will result in a change in the next lesson that primary program 18 will present to the student Also, when remote program 24 next generates remote data 26, it will take into account any progress (or demonstrations of weaknesses) that the student has made in lessons performed on main computer 12 and on remote computerized device 14 (as represented by updated result information 32), and the next time remote data 26 is generated, it will take into account such progress when creating information for new lessons for adjunct program 28. Thus, coordination is always maintained between computer 12 and remote computerized device 14 as to learning activities carried out on the other device.

As already mentioned, adjunct program 28 is a simplified or limited version of primary program 18. This is so, not only because remote computerized device 14 is not likely to have the computing power of computer 12, but also because the language student will only be performing limited tasks on remote computerized device 14. In practice, for example, if the language student were using remote computerized device 14 while driving it would be undesirable to have him distracted by having to look at a display or to remove a hand from the steering wheel of his vehicle to operate remote computerized device 14. Therefore, many types of language learning tasks would be unavailable to the student under these circumstances. He could, however, be asked to translate or pronounce words, to recite the missing words in a phrase, to carry on a conversation in a language he is studying, or to respond to a multiple-choice question, all in a hands free manner. This could be achieved with the simple voice recognition engine of the type found in cellular telephones. In cases where the student is expected to pronounce words in a foreign language, he could simply be given an indication that his response is incorrect, and the correct pronunciation played back. All of this language practice would be focused on words or concepts which presented some difficulty to the student in the primary program. Similarly, since result information 32 will be transferred to main computer 12, when the student once again uses the primary program, he will continue to receive instruction in problem areas that persist.

FIG. 2 is a flow chart illustrating operations performed by remote interface program 24. Two primary functions are performed: transfer of information from remote computerized device 14 to computer 12 upon startup of primary program 18; and transfer of information from computer 12 to remote computerized device 14 upon shut down of primary program 18.

At block 100, a test is performed repeatedly to determine whether primary program 18 is starting up (as long as the primary program is not starting up). If it is determined at block 100 that, the primary program is starting up, control transfers to block 102, where computer 12 is caused to read the result information 32 from remote computerized device 14. At block 104, computer 12 is caused to update result information 22, based upon the information received from remote computerized device 14. Then, control reverts back to block 100 to await the next startup of primary program 18.

At block 110, a test is performed repeatedly to determine whether primary program 18 is shutting down (as long as the primary program is not shutting down). If it is determined at block 110 that the primary program is shutting down, control transfers to block 112, where result information 22 is read with respect to recent learning activity. At block 114, data is read (from data 20) that is relevant to the result information read at block 112. At block 118, the information read at blocks 112 and 114 us utilized to create remote data 26. This is done under the control of set up information 116 for remote computerized device 14. This information would have been created the first time that remote computerized device 14 was used with main computer 12. At block 120, the remote data 26 created at block 118 is sent to remote computerized device 14. Control then reverts to block 110 to await the next shutdown of primary program 18.

The adaption of learning programs running on remote computerized device 14 may be under the control and instruction of main computer 12. Alternatively, the processing required to determine how to adapt the lessons on remote computerized device 14 may be performed by remote computerized device 14 itself. Either one or both of these processes may preferably implement adaptive techniques set forth in copending U.S. patent application Ser. No. 10/052,432, entitled “Adaptive Recall” and assigned to the assignee of the present invention.

It is contemplated that main computer 12 may be used with more than one remote computerized device. Under these circumstances, it would only be necessary for each computerized device to identify itself when communication is established with main computer 12. Remote interface program 24 would have separate setup information for each computerized device and would utilize that information associated with the computerized device that identified itself to main computer 12.

Although the preferred embodiment employs the invention in a language teaching system, the invention finds broad application to performing a computerized task on different computerized devices. For example, suppose an author were writing a report with a word processing program. He runs a spell and grammar check before shutting down his word processor. Making use of the present invention, the results of the spelling and grammar check could be transferred to a handheld computerized device, which the author carries. At his convenience, for example while driving, he could review the results of the spelling and grammar check (e.g. by listening to the computerized device), and he could enter his corrections via a simple voice recognition engine in the computerized device. When the computerized device reconnects with the computer running the word processing program, the author's corrections are entered in his document.

In the language learning environment, if the language learning program on the main computer 12 recognizes, for example, that the user is having trouble with two particular different words, a wireless device can present lessons that focus the user on pronouncing those two words. As this exercise involves simply speaking, it is the most proper exercise to do while driving.

Those skilled in the art will appreciate that, although the remote interface program has been described as separate from the primary program, it could, in practice be a subprogram of the primary program. In the example of the preceding paragraph, the remote interface program could be a module in the word processing program.

In more sophisticated embodiments, the system can generally optimize the time using each of plural devices via a mechanism for storing usage and capability maps. More specifically, the system may be programmed with data indicative of the general capabilities of each device, such as, full or partial keyboard, optimally used hands free or with a keyboard, screen or audio only, etc. Additionally, either via information entered in advance, or via a data compilation/learning algorithm that keeps track of usage patterns, the system may also optionally maintain information indicative of the usage patterns of a particular user, and the user's expected time using each device.

By way of example, the system knows that user A typically uses a handheld device for about an hour a day in the morning, on her drive to work. The handheld device has only an abbreviated keyboard, and it is not really usable because the person is driving during that time. Further, the screen use should be minimized or eliminated so the user is not distracted from driving, with audio prompts and responses dominating any lessons.

Additionally, the same user may use a desktop PC with a full screen and keyboard for about an hour a day in the evening. During this evening time, the user can fully focus the computer and the lesson, and can input items with a mouse, keyboard, or orally.

In the above exemplary scenario, the stored information may then be used to adjust the activities to be presented to a user during learning sessions. For example, consider a lesson presented on the PC which may then, toward the end thereof, be reinforced with learning activities that largely involve the student vocalizing phrases stated by the computer to the student. As this activity largely involves audio only, and no keyboard or screen, the system may determine that it should put off this activity until the following morning, and execute it when the user uses the hand held to practice his language skills. This would allow another, more screen and keyboard intensive activity, such as viewing images and giving responses, or practicing typing in the target language being learned, while the user is using the PC.

As a general rule, the system uses usage patterns and knowledge of the various devices to set up activities that are best done on the particular device it expects the user to use at various times, and based upon what lessons have been done. The system should optimally require the user to enter information about which devices he/she uses, how often per day each might be use, and, if it is not known in advance, the specific capabilities of each such device. The system may also gather device capabilities over a remote connection, or have them prestored in advance. Using the device capabilities, and knowledge of each user's usage patterns with respect to each device, the system can customize and coordinate lessons among the devices so that each device is optimally utilized.

Although preferred embodiments of the invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that many additions, modifications, and substitutions are possible without departing from the scope and spirit of the invention as defined by the company claims. 

What is claimed:
 1. A method, comprising: repeatedly performing a test to determine whether a user intends to stop performing a lesson on a main compute device, the lesson being executed by a primary program on the main compute device; receiving, from the primary program, an indication of an intention to stop performing the lesson based on a result of the test; defining, via the primary program and in response to receiving the indication, remote data based on (1) progress associated with the lesson, (2) an indication of a context in which the user uses a remote compute device determined based on a learned usage pattern of the user using the remote compute device over a period of time and received by the primary program, and (3) a capability of the remote compute device; and sending the remote data to the remote compute device such that an adjunct program at the remote compute device executes a version of the lesson on the remote compute device that is optimized for hands-free operation based on the remote data.
 2. The method of claim 1, wherein the lesson on the main compute device is optimized for operation on a desktop computer.
 3. The method of claim 1, wherein the capability of the remote compute device includes an indication of whether the remote compute device includes a full or partial keyboard, an indication of whether the remote compute device includes a display screen, and an indication of whether the remote compute device includes audio capabilities.
 4. The method of claim 1, wherein the context in which the user uses the remote compute device includes an expected time period for using the remote compute device.
 5. The method of claim 1, wherein the context in which the user uses the remote compute device includes an expected activity during which the user uses the remote compute device.
 6. The method of claim 1, wherein: the lesson is a first lesson, and the sending includes sending the remote data such that the remote compute device selects a second lesson to present to the user based on the remote data, the second lesson being optimized for hands-free operation on the remote compute device.
 7. The method of claim 1, wherein the sending includes sending the remote data such that the adjunct program uses audio prompts and responses while executing the version of the lesson at the remote compute device based on the remote data.
 8. An apparatus, comprising: a main compute device configured to detect that a primary program is being terminated at the main compute device, the main compute device configured to learn usage patterns of a user using a mobile compute device and to generate mobile compute device usage pattern data based on the learned usage patterns, the main compute device configured to, based on the mobile compute device usage pattern data, generate first control information, the main compute device configured to send the first control information to the mobile compute device such that the user can complete a hands-free language lesson on the mobile compute device based on the first control information, the main compute device configured to detect that the primary program is being initiated at the main compute device, the primary program configured to receive, from the mobile compute device, second control information including data associated with performance by the user on the hands-free language lesson, the main compute device configured to retrieve main compute device usage pattern data generated based on learned usage patterns of the user using the main compute device, the main compute device configured to present, on a display of the main compute device, a hands-on activity to the user based on the second control information and the main compute device usage pattern data.
 9. The apparatus of claim 8, wherein the main compute device is configured to generate the first control information at least in part based on a quality of the user's performance on the primary program at the main compute device.
 10. The apparatus of claim 8, wherein the main compute device is configured to generate the first control information at least in part based on the user's progress in the primary program at the main compute device.
 11. The apparatus of claim 8, wherein the main compute device uses the learned usage patterns of the user using the mobile compute device to determine at least one of an expected time period during which the user will use the mobile compute device or an expected activity during which the user will use the mobile compute device.
 12. The apparatus of claim 8, wherein the main compute device is configured to send the first control information such that an adjunct program at the mobile compute device uses audio prompts and responses based on the first control information while performing the hands-free language lesson at the mobile compute device.
 13. The apparatus of claim 8, wherein the hands-free language lesson is adapted from a language lesson optimized for operation on a desktop computer.
 14. The apparatus of claim 8, wherein: the main compute device is configured to generate the first control information based in part on a capability of the mobile compute device, and the capability of the mobile compute device includes whether the mobile compute device includes a full or partial keyboard, whether the mobile compute device includes a display screen, and whether the mobile compute device includes audio capabilities.
 15. A method, comprising: retrieving mobile compute device usage pattern data generated based on learned usage patterns of a context in which a user uses a mobile compute device; sending, at a first time and to the mobile compute device, first control information including a first lesson of a first lesson type associated with the mobile compute device usage pattern data, the first lesson type being optimized for hands-free operation on the mobile compute device; receiving first result information from the mobile compute device indicating progress the user has made in the first lesson of the first lesson type; retrieving main compute device usage pattern data generated based on learned usage patterns of a context in which the user uses a main compute device; presenting, at the main compute device, a lesson of a second lesson type associated with the main compute device usage pattern data, the second lesson type being optimized for operation on the main compute device; receiving, from the user, an input in response to presenting the lesson of the second lesson type; generating second result information based on the input; and sending, at a second time and to the mobile compute device, second control information including a second lesson of the first lesson type associated with the mobile compute device usage pattern data, the second lesson of the first lesson type selected at least in part based on the first result information and the second result information.
 16. The method of claim 15, wherein the context in which the user uses the mobile compute device includes at least one of an expected time period for using the mobile compute device or an expected activity during which the user uses the mobile compute device.
 17. The method of claim 15, further comprising: generating the first control information based in part on a capability of the mobile compute device, the capability of the mobile compute device includes an indication of whether the mobile compute device includes a full or partial keyboard, an indication of whether the mobile compute device includes a display screen, and an indication of whether the mobile compute device includes audio capabilities.
 18. The apparatus of claim 15, wherein the first lesson of the first lesson type is adapted from a language lesson optimized for operation on a desktop computer.
 19. The method of claim 15, wherein the lesson of the second lesson type is optimized to be performed using at least one of a display screen, a mouse, or a keyboard.
 20. The method of claim 15, wherein the lesson of the second lesson type is a first lesson of the second lesson type, the method further comprising: optimizing the first lesson of the first lesson type for hands-free operation by adapting a second lesson of the second lesson type to use audio prompts and responses for presentation at the mobile compute device. 